'Imports System.Data
'Imports System.Data.SqlClient

''Namespace SVCMS.Library

'<Serializable()> Public MustInherit Class DBCompoundObjectBaseCollection
'    Inherits CollectionBase
'    'Implements IComparer


'#Region "Declarations"
'    <NonSerialized()> Protected Friend iTransaction As SqlClient.SqlTransaction

'    Protected Friend iConObj As SqlClient.SqlConnection
'    Protected Friend iLMUserId As Guid
'    Protected Friend iLMDate As DateTime = DateTime.Now
'    Protected Friend iRefId As Guid = Guid.Empty

'    Protected Friend ipropertyToSort As String
'    Protected Friend isortOrder As SortOrder
'    Protected Friend isortExpresion As String
'#End Region

'    Public Sub New(ByVal RefId As Guid)
'        Me.iRefId = RefId
'    End Sub

'    Public Overridable Property RefId() As Guid
'        Get
'            Return Me.iRefId
'        End Get
'        Set(ByVal value As Guid)
'            Me.iRefId = value
'        End Set
'    End Property

'    Friend Overridable Property Connection() As SqlConnection
'        Get
'            Return Me.iConObj
'        End Get
'        Set(ByVal value As SqlConnection)
'            Me.iConObj = value
'        End Set
'    End Property

'    Protected Friend Property Transaction() As SqlTransaction
'        Get
'            Return Me.iTransaction
'        End Get
'        Set(ByVal value As SqlTransaction)
'            Me.iTransaction = value
'        End Set
'    End Property

'    Protected Friend MustOverride Function Load() As Boolean

'    Public Overridable Function IndexOf(ByVal value As DBTableObjectBase) As Integer
'        Return Me.List.IndexOf(value)
'    End Function

'    Public Overridable Function Add(ByVal value As DBTableObjectBase) As Integer
'        Return Me.List.Add(value)
'    End Function

'    Public Overridable Sub Insert(ByVal index As Integer, ByVal value As DBTableObjectBase)
'        Me.List.Insert(index, value)
'    End Sub

'    Public Overridable Function Contains(ByVal value As DBTableObjectBase) As Boolean
'        Return Me.List.Contains(value)
'    End Function

'    Protected NotOverridable Overrides Sub OnValidate(ByVal value As Object)
'        If IsNothing(value) Then Exit Sub
'        If Not GetType(DBCompoundObjectBase).IsAssignableFrom(value.GetType()) Then
'            Throw New ArgumentException("Value must be of type DBCompoundObjectBase")
'        End If
'    End Sub

'End Class

''End Namespace

